在半监督节点分类任务中,我们需要学习带标签的样本,然后对未标记样本进行预测。为更好地对节点进行分类,基于拉普拉斯平滑性假设(Laplacian smoothing assumption),人们提出了消息传递模型来聚合节点邻域的信息从而获得足够的事实(fact)来对未标记节点产生更可靠的预测。
通常有两种实现消息传递模型的实用方法:
图神经网络 (Graph Neural Network:GNN):通过神经网络执行特征传播 (feature propagation)以进行预测。
标签传播算法( Label Propagation Algorithm:LPA):跨 graph adjacency matrix 的标签传播(label propagation)来进行预测。
由于 GNN 和 LPA 基于相同的假设:通过消息传播进行半监督分类。因此有一种直觉认为:将它们一起使用可以提高半监督分类的性能。已有一些优秀的研究提出了基于该想法的图模型。例如,APPNP 和 TPN 通过将 GNN 和 LPA 拼接在一起,GCN-LPA 使用 LPA 来正则化 GCN 模型。但是,如下表所示,上述方法仍然无法将 GNN 和 LPA 共同融入消息传递模型,从而在训练和预测过程中同时传播特征和标签。

为了统一特征传播和标签传播,主要有两个问题需要解决:
聚合特征信息和标签信息:由于节点特征是由embedding 表达的,而节点标签是一个 one-hot 向量。它们不在同一个向量空间中。
此外,它们的信息传递方式也不同:GNN 可以通过不同的神经网络架构来传播信息,如GraphSAGE、GCN 和 GAT ;但是 LPA 只能通过图邻接矩阵来传递标签信息。
监督训练:用特征传播和标签传播进行监督训练的模型不可避免地会在 self-loop 标签信息中出现过拟合,这使得在训练时出现标签泄漏(label leakage),导致预测的性能不佳。
受NLP 发展的启发,论文《Masked label prediction: unified message passing model for semi-supervised classification》 提出了一个新的统一消息传递模型(Unified Message Passing: UniMP),并且使用带 masked label prediction 的 UniMP 来解决上述问题。UniMP 模型可以通过一个共享的消息传递网络将特征传播和标签传播,从而在半监督分类中提供更好的性能。
UniMP 是一个多层的 Graph Transformer,它使用 label embedding 来将节点标签转换为和节点特征相同的向量空间。
一方面,UniMP像之前的 attention-based GNN 一样传播节点特征;另一方面,UniMP将multi-head attention 视为转移矩阵从而用于传播 label vector 。因此,每个节点都可以聚合邻域的特征信息和标签信息。
即,
label vector的转移矩阵来自于attention,而不是来自于图的邻接矩阵。
为了监督训练 UniMP 模型而又不过拟合于self-loop 标签信息,论文从 BERT 中的 masked word prediction 中吸取经验,并提出了一种 masked label prediction 策略。该策略随机mask 某些训练样本的标签信息,然后对其进行预测。这种训练方法完美地模拟了图中标签信息从有标签的样本到无标签的样本的转移过程。
论文在 Open Graph Benchmark:OGB 数据集上对三个半监督分类数据集进行实验,从而证明了 UniMP 获得了 SOTA 半监督分类结果。论文还对具有不同输入的模型进行了消融研究,以证明 UniMP 方法的有效性。此外,论文还对标签传播如何提高 UniMP 模型的性能进行了最彻底的分析。
定义图
每个节点
每条边
每个节点 one-hot 表示为 one-hot 构成标签矩阵
实际上在半监督节点分类任务中,大部分节点的标签是未知的。因此我们定义初始标签矩阵 one-hot 标签向量或者全零向量组成:对于标记节点,它就是标签的 one-hot 向量;对于未标记节点,它就是全零的向量。
图的邻接矩阵定义为 degree。
归一化的邻接矩阵定义为
特征传播(Feature Propagation)模型:在半监督节点分类中,基于拉普拉斯平滑假设,GNN 将节点特征
GNN 的特征传播范式为:在第
其中:
representation 矩阵,
final embedding 矩阵
标签传播(Label Propagation)模型:LPA 假定相连节点之间的标签是平滑的,并在整个图上迭代传播标签。
LPA 的特征传播范式为:在第
其中
在 LPA 中,标签信息通过归一化的邻接矩阵
UniMP 整体架构如下图所示。我们采用了 Graph Transformer 并结合使用label embedding 来构建 UniMP 模型,从而将上述特征传播和标签传播结合在一起。

Graph Transformer:由于 Transformer 已经在 NLP 中被证明功能强大,因此我们将常规的 multi-head attention 应用到 graph learning 中。
给定节点representation 集合 multi-head attention :
其中:
head 的隐层大小。
head attention 。
我们首先将 source feature query 向量 distant feature key 向量 edge feature key 向量作为额外的信息。编码过程中使用了可训练的参数
edge feature跨层共享。在计算注意力系数时,edge feature作为key的附加信息。
当得到 graph multi-head attention,我们聚合节点
注:这里的公式和上面的架构图不匹配。根据公式中的描述,残差应该连接在
Graph Transformer层之后。即:残差连接 ->LayerNorm->ReLU。
其中:
节点embedding
value向量考虑了和 。
和特征传播相比,multi-head attention 矩阵代替了原始的归一化邻接矩阵作为消息传递的转移矩阵(类似于 GAT)。另外,我们提出一个层间的门控残差连接(gated residual connection)来防止过度平滑(oversmoothing)。
门控机制由
所提供,它因节点的不同而不同、因层深(即 )的不同而不同。
类似于 GAT,如果我们在输出层应用 Graph Transformer,则我们对multi-head output 应用均值池化(并且没有 LayerNorm 和 relu ):
Label Embedding and Propagation:我们提出将部分观测到的标签信息 embed 到节点特征相同的空间中:label embedding 向量和未标记节点的零向量。
然后,我们通过简单地将节点特征和标签特征相加得到传播特征( propagation feature):
我们可以证明,通过将部分标记的
证明:令 Graph Transformer 中的attention 矩阵(即 edge feature,并且 bias 向量。那么我们有:
其中 APPNP 中预定义的超参数。
为简单起见,我们取
其中
因此我们发现 UniMP 模型可以近似分解为特征传播
已有的GNN 相关工作很少考虑在训练和推断阶段都使用部分观测的标签。大多数工作仅将这些标签信息作为 ground truth target ,从而监督训练模型参数
其中
但是,我们的 UniMP 模型会传播节点特征和标签信息从而进行预测:inference 性能很差。
我们向BERT 学习,它可以 mask 输入的 word 并预测被 masked 的word 从而预训练BERT 模型。有鉴于此,我们提出了一种 masked label prediction 策略来训练我们的模型。训练过程中,在每个iteration,我们随机屏蔽部分节点标签为零并保留剩余节点标签,从而将 label_rate 所控制(label_rate 表示保留的标签比例)。
假设被 masked 之后的标签矩阵为
其中: masked 标签的节点数量,masked 标签。
每个
batch内的target节点的label都是被屏蔽掉的。否则的话,对target节点预测标签会发生标签泄漏。
通过这种方式,我们可以训练我们的模型从而不会泄露self-loop 标签信息。
这篇论文就是一篇水文,其思想就是把
node label作为一个节点特征拼接到原始节点特征上去(当然,目标节点拼接全零信息而不是node label从而防止信息泄露),然后在所有输入的特征上执行随机mask。
在推断过程中,我们可以将所有
数据集:和实际工程应用的图相比,大多数论文常用的图数据集规模很小。GNN 在这些论文数据集上的性能通常不稳定,因为数据集太小、不可忽略的重复率或泄露率、不切实际的数据切分等。
最近发布的 OGB 数据集克服了常用数据集的主要缺点,它规模更大、更有挑战性。OGB 数据集涵盖了各种现实应用,并覆盖了多个重要领域,从社交网络、信息网络到生物网络、分子图、知识图谱。它还覆盖了各种预测任务,包括node-level 预测、graph-level 预测、edge-level 预测。
因此我们在该数据集上进行实验,并将 UniMP 和 SOTA 模型进行比较。如下表所示,我们对三个 OGBN 数据集进行实验,它们是具有不同大小的不同任务。其中包括:
ogbn-products:关于 47 种产品类别的分类(多分类问题),其中每个产品给出了 100 维的节点特征。
ogbn-proteins:关于 112 种蛋白质功能的分类(多标签二分类问题),其中每条边并给出了 8 维的边特征。
ogbn-arxiv:关于 40 种文章主题的分类(多分类问题),其中每篇文章给出了 128 维的节点特征。

实现细节:
这些数据集大小或任务各不相同,因此我们使用不同的抽样方法对模型进行评估。
在 ogbn-products 数据集中,我们在训练期间每一层使用 size=10 的 NeighborSampling 来采样子图,并在推断期间使用 full-batch 。
在 ogbn-proteins 数据集中,我们使用随机分区(Random Partition)将稠密图拆分为子图,从而训练和测试我们的模型。训练数据的分区数为 9、测试数据的分区数为 5 。
在小型的 ogbn-arxiv 数据集中,我们对训练数据和测试数据进行full batch 处理。
我们为每个数据集设置了模型的超参数,如下表所示。label rate表示我们在应用 masked label prediction 策略期间保留的标签比例。
我们使用 lr=0.001 的Adam 优化器来训练模型。此外,我们在小型 ogbn-arxiv 数据集中将模型的权重衰减设置为 0.0005 来缓解过拟合。
所有的模型都通过 PGL 以及 PaddlePaddle 来实现,并且所有实验均在单个 NVIDIA V100 32 GB 上实现。

实验结果:baseline 方法和其它SOTA 方法均由 OGB 排行榜给出。其中一些结果是原始作者根据原始论文官方提供,其它结果由社区重新实现的。并且所有这些结果都保证可以用开源代码复现。
按照 OGB 的要求,我们对每个数据集运行 10 次实验结果,并报告均值和标准差。如下表所示,我们的 UniMP 模型在三个 OGBN 数据集上都超过所有其它模型。由于大多数模型仅考虑基于特征传播来优化模型,因此结果表明:将标签传播纳入 GNN 模型可以带来重大改进。
具体而言:
UniMP 在 gbn-products 中获得了 82.56% 的测试准确率,相比 SOTA 取得了 1.6% 的绝对提升。
UniMP 在 gbn-proteins 中获得了 86.42% 的测试 ROC-AUC ,相比 SOTA 取得了 0.6% 的绝对提升。
UniMP 在 gbn-arxiv 中获得了 73.11% 的测试准确率,相比 SOTA 实现了0.37% 的绝对提升。
作者没有消融研究:
不同
label_rate对于模型性能的变化(当label_rate = 0时表示移除标签传播)。除了
Graph Transformer之外,UniMap采用其它base model的效果是否也很好。


